<?php

/**
 * @version		1.0.0 gerenciador_de_arquivos $
 * @package		gerenciador_de_arquivos
 * @copyright	Copyright © 2012 - All rights reserved.
 * @license		GNU/GPL
 * @author		Edio Hanoway Kepke
 * @author mail	hanoway12@gmail.com
 */
require_once(dirname(__FILE__).DS.'arquivoassunto.php');
class ArquivoAssuntoDAO 
{
    private static $arquivoAssuntoDAO;

    
    /**
    * @var    JDatabase
    * @since  11.1
    */
    private $db;
    
    private $table = "mod_file_arquivo_assunto";

    private function __construct() { }
    
    
    
    /**
    *  Get a ArquivoAssuntoDAO object.
    *
    * Retorna uma istancia de Arquivo DAO.
    *
    * @return  ArquivoAssuntoDAO object
    *
    * @see     ArquivoAssuntoDAO
    * @since   1.0
    */
    public static function instance()
    {
        if(is_null(self::$arquivoAssuntoDAO))
        {
            self::$arquivoAssuntoDAO = new ArquivoAssuntoDAO();                       
        }                
       
       return self::$arquivoAssuntoDAO;
    }
    
    public function setDb($db) { $this->db = $db; }
    
    public function insert($idArquivo, $idAssunto)
    {
        $arquivoAssuntoOBJ = new ArquivoAssunto($idArquivo, $idAssunto);
        
        try 
        {
            return $this->db->insertObject($this->table, $arquivoAssuntoOBJ);                                               
        } 
        catch (Exception $exc) 
        {
            return false;
        }   
                
    }
    
    public function update($arquivoAssunto)
    {
                
    }
    
    public function delete($arquivoAssunto)
    {
                
    }
    
    public function selectObject($idArquivo, $idAssunto)
    {        
        //$this->db = JFactory::getDbo();
        $query = $this->db->getQuery(true);
        $query->select('*')->from("mod_file_arquivo_assunto");                        
        $query->where("id_arquivo = '".trim($idArquivo)."'");
        $query->where("id_assunto = '".trim($idAssunto)."'");
        $this->db->setQuery($query);        
        return $this->db->loadObject();
    }
    
    public function selectAssuntosArquivo($id)
    {
        $query = $this->db->getQuery(true);       
        $query->select('assunto.id, assunto.assunto');
                                                                                
        $query->from("mod_file_arquivo_assunto as arquivo_assunto");                    
                             
        $query->innerJoin("
                            mod_file_assunto as assunto
                            on
                            arquivo_assunto.id_assunto = assunto.id
                          ");

        $query->where("arquivo_assunto.id_arquivo = ".$id);
        
                        
        $this->db->setQuery($query);
                                     
        return $this->db->loadAssocList();   
                
    }     
}

?>
